package com.eduagent.xwqeduagent.model.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * 创意海报生成请求DTO
 */
@Data
public class CreatePosterRequest implements Serializable {
    
    /**
     * 主标题，最多30个字符
     */
    private String title;

    /**
     * 副标题，最多30个字符
     */
    private String subTitle;

    /**
     * 正文，最多50个字符
     */
    private String bodyText;

    /**
     * 中文提示词
     */
    private String promptTextZh;

    /**
     * 英文提示词
     */
    private String promptTextEn;

    /**
     * 生成海报的版式，"横版"或"竖版"，默认为"横版"
     */
    private String whRatios = "横版";

    /**
     * 海报风格名称
     */
    private String loraName;

    /**
     * 海报风格权重，取值范围：[0, 1]，默认值为0.8
     */
    private Float loraWeight = 0.8f;

    /**
     * 留白效果权重，取值范围：[0, 1]，默认值为0.7
     */
    private Float ctrlRatio = 0.7f;

    /**
     * 留白步数比例，取值范围：(0, 1]，默认值为0.7
     */
    private Float ctrlStep = 0.7f;

    /**
     * 海报生成模式，"generate"（默认模式）、"sr"（高分辨率模式）或"hrf"（高清修复模式）
     */
    private String generateMode = "generate";

    /**
     * 生成的海报数，取值范围：[1,4]，默认为1
     * 该参数只在generate_mode=generate时有效
     */
    private Integer generateNum = 1;

    /**
     * 当generateMode为"sr"或"hrf"时为必选项
     * 需要提升分辨率或者高清修复的海报图片对应的辅助参数
     */
    private String auxiliaryParameters;

    /**
     * 标题是否启用创意排版，默认为false
     */
    private Boolean creativeTitleLayout = false;
    
    private static final long serialVersionUID = 1L;
} 